Multicast enables simultaneous transmission of data packets between a source (e.g., a server identified by a source IP address) and select receivers (e.g., desktop computers in a group identified by a multicast group IP address). In packet-switched networks, multicast data packets are forwarded to receivers through a multicast distribution tree that consists of number of network nodes (e.g., routers). The terms node and router will be used interchangeably, it being understood that the term node should not be limited to a router. Multicast distribution trees can be built using Protocol Independent Multicast (PIM), which supports different modes of operation including: PIM sparse-mode (PIM SM), PIM bidirectional (PIM-bidir) and PIM source-specific multicast (PIM SSM).
The routers in a packet-switched distribution tree forward multicast data packets based on information (e.g., the source and/or group IP addresses) contained in packet headers. Some routers of the tree are responsible for replicating multicast data packets at bifurcation points (the points of the tree where branches fork). This means that only one copy of a multicast data packet travels over any particular link in the network, making multicast distribution trees extremely efficient for distributing the same information to many receivers.
Businesses and other entities often employ private packet-switched networks to transmit multicast packets between network components (e.g., sources and receivers). As a business grows, so can its network, increasing the number of network elements, network links, and geographic diversity. The network elements can be scattered throughout a city, a state, a country, or the world. Since it can be prohibitively expensive to create a private network that spans great distances, many businesses opt to rely upon a third-party provider's network to provide connectivity between network elements at disparate geographic sites. In order for the business' network to seamlessly function through the provider's network, the provider's network must be able to provide a medium for transmission of various types of data packets, including packets of a multicast data-stream.